package com.gxa.saas.mapper;


import com.gxa.saas.pojo.User;
import io.swagger.models.auth.In;

import java.util.List;
import java.util.Map;

/**
 *
 * @author Kingsea0zzZ
 */
public interface UserMapper {
    /**
     * 分页查询的方法
     * @param page 页数
     * @return   返回一个User集合
     */
    List<User> selectByPage(Integer page);

    /**
     * 添加一个员工的方法
     * @param user  员工对象
     */
    void addUser(User user);

    /**
     * 修改密码的方法
     * @param map   存放修改的密码和确认的密码以及要修改的对象
     */
    void resetPassword(Map map);

    /**
     * 分页模糊查询的方法
     * @param map  存放页数、名字、用户名
     * @return
     */
    List<User> selectByLikeName(Map map);

    /**
     * 修改员工的方法
     * @param user 要修改的员工对象(根据员工的用户名)
     */
    void updateUser(User user);

    /**
     * 删除员工的方法
     * @param id 要删除的员工对象(根据员工的id)
     */
    void deleteUser(Integer id);

    /**
     * 修改启用状态的方法
     * @param map   启用状态参数
     */
    void updateIsUsed(Map map);

    /**
     * 查询所有的员工
     * @return  一个员工的总数
     */
    Integer selectAll();

    /**
     * 获取所有员工的信息
     * @return 员工信息的集合
     */
    List<User> getUserList();
}
